1. Field of the Invention
The present invention relates to the field of analytical instrumentation software. More particularly, the present invention relates to customizable user environment (CUE) software that enables an end user to easily run complex scientific instrumentation.
2. Discussion of the Related Art
Spectral analysis via a number of analytical techniques ranging from optical to mass spectroscopic methods provide efficient, accurate, qualitative and quantitative analysis of a vast array of samples to an end user. For example, given a sample of an unknown composition, UV-Vis spectral analysis using a custom but often commercial scientific instrument can be used to determine the amount of a particular substance present in the sample. A test process can be performed on the sample, and a UV-Vis spectrum is produced. The analysis itself is desirably aided by software controlled techniques that include manipulating induced wavelength illumination, background subtraction, and inter-spectra operations (e.g., Ratio and Absorbance Difference measurements for quick comparisons), so as to generate output values indicative of the various substances in the sample material in an expedient manner.
It is thus understood that a particular instrument and its analysis capabilities requires different sets of unique instructions for manipulating desired interrogation and analysis parameters in operation of such instruments. As part of almost any commercial scientific instrument, embedded software is provided to assist an end-user in the ease-of-use of the instrument(s) for stand-alone esoteric as well as routine operations. Depending on the desired measurement(s) and the level of understanding of the end-user, the provided software can range from context sensitive keystrokes for routine operations to providing the means for customized created methods, i.e., customized macro programs that can also provide routine but more often advanced analysis.
Macro programs in particular can easily be created by a user who has no knowledge of programming. However, an end-user in desiring to create a program associated with a purchased scientific instrument must often learn the programming syntax for such instruments and thus can become intimidated by even the most simplistic of tasks. To encourage the development and use of the associated macro programming products, a company can provide Graphic User Interface (GUI) software that includes ease-of-use manipulation so as to easily develop a program for a specific application.
As a beneficial example, an interface to a GUI macro programming application can be provided with options from a drop-down menu so as to build a script of elements of his or her desired macro. The end-user selects from specific drop-down menus to enable specific actions manipulated to a workspace, wherein the end-user must connect them up, compile the operation, and execute the program for the desired programmed action. Such a procedural method enables the end-user to introduce action items into a worksheet space without requiring such an end-user to write a program to prescribe how the actions actually operate. Because such a method is easy, confidence increases for even the most unsophisticated of programmers leading to the development of complex macro programming that often but not necessarily require some programming skill. Moreover, the ease of operation of the provided controls to build a macro program induces a person to take further steps to learn the programming skills needed to achieve greater flexibility and create more complex applications.
Background information on a system and method that utilizes an interactive Graphic User Interface (GUI) to automatically create a database, is described and claimed in, U.S. Pat. No. 7,032,960 B1, entitled, “DATABASE PROGRAM WITH AUTOMATIC CREATION OF USER FEATURES,” issued Apr. 18, 2006, to Costin et al., including the following, “[t]he present system defines a technique allowing automatic creation of appropriate information based on entered data. A result of this automatic creation as described herein is the formation of custom databases of information without programming or specialized learning. The databases are created automatically from initial specifications of the information.”
Background information on a system and method that incorporates animated icons to visualize programming flow and operation, is described and claimed in, U.S. Pat. No. 5,517,663, entitled, “ANIMATED USER INTERFACE FOR COMPUTER PROGRAM CREATION, control and execution” issued May 14, 1996, to Kahn, including the following, “[a] computer programming system provides animated program sources that are created in an interactive visual manner. Animation is integrated with computer programming to allow a user or programmer to visualize programming flow and operation. Animated depictions are thus produced for dynamic phenomenon, such as concurrent computations. The program system supports a computation model of concurrent communicating agents. A concrete metaphor for the computation model is provided, e.g. agents are implemented as buildings; rules or methods are implemented robots or workers inside of buildings; local state is posted on bulletin boards inside of buildings; couriers carry messages between buildings; and so on.”
Background information for a system that uses interactive media to enable children to learn programming skills is described by Resnick et al., “Scratch: Programming for all,” Communications of the ACM, Vol. 52, no. 11 (November 2009), pp. 60-67, including the following, “Scratch is designed to be highly interactive. Just click on a stack of blocks and it starts to execute its code immediately. You can even make changes to a stack as it is running, so it is easy to experiment with new ideas incrementally and iteratively.”
However, conventional macro programming languages described above and as present in the industry do not allow for direct link-up of the specific elements in the script (i.e., automatic parameter routing), often call up an end-user to compile the developed software to enable the execution of the program, and do not provide the ability to create customizable new code (macros) in an interactive visual manner ranging from the complex down to even the most simplistic of software programs.
Accordingly, a need exists in the industry for a macro programming language in association with predetermined scientific instruments to meet their needs in as simplistic a manner as possible.